home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d27 / chglib.arc / CHGLIB.ASM next >
Assembly Source File  |  1991-12-04  |  2KB  |  67 lines

  1. TITLE  'Modify Library Type-attribute and Text description via QLIMOIR';
  2. /*    ENTRY Parameters   */                    ;
  3. DCL SPCPTR P1  PARM         /* Library name */        ;
  4. DCL SPCPTR P2  PARM        /* Library attribute */     ;
  5. DCL SPCPTR P3  PARM        /* Library text */         ;
  6. SPACE;
  7. DCL DD LIBRARY BAS(P1) CHAR(10) /* Library */            ;
  8. DCL DD ATTR    BAS(P2) CHAR(04) /* Attribute */            ;
  9. DCL DD TEXT    BAS(P3) CHAR(50) /* Text */            ;
  10. SPACE;
  11. DCL OL   PLIST(P1,P2,P3) PARM EXT /* External parameter list */    ;
  12. SPACE 2;
  13. /*    Internal constants and variables */            ;
  14. SPACE;
  15. DCL SPC  WCB        BASPCO                    ;
  16. DCL PTR  SEPT@         DEF(WCB) POS(1)                ;
  17. DCL PTR  QTEMP@      DEF(WCB) POS(65)             ;
  18. DCL PTR  SEPT(1050)      BAS(SEPT@)                ;
  19. SPACE;
  20. DCL SYSPTR    LIB@                        ;
  21. SPACE;
  22. DCL DD DS     CHAR(168)     BDRY(16)             ;
  23. DCL SPCPTR    RTV@(6)        DEF(DS)     POS(1)            ;
  24. DCL DD START(6) DEF(DS)     POS(97)  BIN(4) INIT        ;
  25. DCL DD END(6)   DEF(DS) POS(121) BIN(4) INIT            ;
  26. DCL DD LEN(6)   DEF(DS) POS(145) BIN(4) INIT(-1,-1,-1,-1,-1,-1)    ;
  27. SPACE;
  28. DCL DD OPTION CHAR(1) INIT('M')                  ;
  29. DCL DD TYPE   CHAR(2) INIT(X'0401')                ;
  30. DCL DD HALF1A BIN(2)                         ;
  31. SPACE;
  32. DCL OL OIRLIST(OPTION,LIBRARY,TYPE,LIB@,DS) ARG            ;
  33. SPACE;
  34. /*     Resolve System pointer template    */            ;
  35. DCL DD YYRSPTR1   CHAR(34)                     ;
  36. DCL DD YYRSPTR11  CHAR(2)  DEF(YYRSPTR1) POS(1)            ;
  37. DCL DD YYRSPTR12  CHAR(30) DEF(YYRSPTR1) POS(3) INIT        ;
  38. DCL DD YYRSPTR13  CHAR(2)  DEF(YYRSPTR1) POS(33)        ;
  39. SPACE 2;
  40. DCL CON *CTX      BIN(2)      INIT(H'0401')                ;
  41. DCL CON RETRIEVE CHAR(2)  INIT(X'0800')  /* Authorization  */     ;
  42. SPACE;
  43. DCL EXCM * IMD BP(.ERROR) CV('CPF') EXCID(H'0000')        ;
  44. EJECT;
  45. ENTRY *(PLIST) EXT                        ;
  46.   CPYBLA YYRSPTR11,*CTX    /* Find the library  */         ;
  47.   CPYBLA YYRSPTR12,LIBRARY                    ;
  48.   CPYBLA YYRSPTR13,RETRIEVE                    ;
  49.   RSLVSP LIB@,YYRSPTR1,*,*                    ;
  50. SPACE;
  51.   CMPBLA(B) TEXT,'*SAME'/EQ(.ATTR)  /* New Text passed? */     ;
  52.   SETSPP    RTV@(1),TEXT                     ;
  53.   CPYNV     START(1),1                       ;
  54.   CPYNV     END(1),50                        ;
  55. .ATTR:
  56.   CMPBLA(B) ATTR,'SAME'/EQ(.MOIR)  /* New Type-attr? */     ;
  57.   SETSPP    RTV@(5),ATTR                    ;
  58.   CPYNV     START(5),1                        ;
  59.   CPYNV     END(5),4                        ;
  60. .MOIR:
  61.     CALLX    SEPT(374),OIRLIST,*    /* CALL QLIMROIR */    ;
  62. SPACE;
  63. .ERROR:
  64.      DEACTPG  *        /* Terminate the program */        ;
  65.      RTX      *        /* Return to caller */            ;
  66.      PEND                            ;
  67.